package com.victualler.business.customer.dto.request;

import com.victualler.core.common.annotation.ListPageQuery;
import com.victualler.core.common.annotation.SimpleQueryFrom;
import com.victualler.core.common.annotation.SimpleQueryOrderBy;
import com.victualler.core.common.annotation.SimpleQueryWhere;
import com.victualler.core.common.enums.ColumnFormatEnum;
import com.victualler.core.common.enums.LinkType;

import java.io.Serializable;
import java.util.Date;

/**
 * @author Guoshichang
 * @since 16:11 on 2018/10/5.
 */
@SimpleQueryFrom(value = "pre_customer_order PreCustomerOrderDao")
@SimpleQueryOrderBy(value = " Order by PreCustomerOrderDao.create_date desc")
public class PreCustomerRequestDto implements Serializable {

    //订单号
    @SimpleQueryWhere(specialName = "PreCustomerOrderDao.customer_id")
    private String customerId;

    //订单号
    @SimpleQueryWhere(specialName = "PreCustomerOrderDao.order_no",linkType = LinkType.LIKE)
    @ListPageQuery(title = "订单号")
    private String orderNo;

    //客户名
    @SimpleQueryWhere(specialName = "PreCustomerOrderDao.customer_name",linkType = LinkType.LIKE)
    @ListPageQuery(title = "客户名")
    private String customerName;

    //客户编号
    @SimpleQueryWhere(specialName = "PreCustomerOrderDao.customer_no",linkType = LinkType.LIKE)
    @ListPageQuery(title = "客户编号")
    private String customerNo;

    /**联系人*/
    @SimpleQueryWhere(specialName = "PreCustomerOrderDao.send_Name")
    @ListPageQuery(title = "联系人")
    private String sendName;

    /**联系人*/
    @SimpleQueryWhere(specialName = "PreCustomerOrderDao.send_Phone")
    @ListPageQuery(title = "联系电话")
    private String sendPhone;

    /**联系人*/
    @SimpleQueryWhere(specialName = "PreCustomerOrderDao.send_Address")
    @ListPageQuery(title = "配送地址")
    private String sendAddress;

    /**库存类型 出库 入库*/
    @SimpleQueryWhere(specialName = "PreCustomerOrderDao.send_Type")
    @ListPageQuery(title = "配送方式",type = ColumnFormatEnum.DICT,dictCodeType = "SendType")
    private String sendType;

    //创建时间起期
    @SimpleQueryWhere(specialName = "PreCustomerOrderDao.create_date",linkType = LinkType.BETWEEN,betweenStartField = "createDateStart" , betweenEndField = "createDateEnd")
    @ListPageQuery(title = "录单时间起期",type = ColumnFormatEnum.DATE)
    private Date createDateStart;

    //创建时间止期
    @ListPageQuery(title = "录单时间止期",type = ColumnFormatEnum.DATE)
    private Date createDateEnd;

    //经办人
    @SimpleQueryWhere(specialName = "PreCustomerOrderDao.made_user",linkType = LinkType.LIKE)
    @ListPageQuery(title = "经办人")
    private String madeUser;



    //审核人
    @SimpleQueryWhere(specialName = "PreCustomerOrderDao.check_user",linkType = LinkType.LIKE)
    @ListPageQuery(title = "审核人")
    private String checkUser;

    //审核状态
    @SimpleQueryWhere(specialName = "PreCustomerOrderDao.check_state")
    @ListPageQuery(title = "审核状态",type = ColumnFormatEnum.DICT,dictCodeType = "CheckState")
    private Integer checkState;


    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Date getCreateDateStart() {
        return createDateStart;
    }

    public void setCreateDateStart(Date createDateStart) {
        this.createDateStart = createDateStart;
    }

    public Date getCreateDateEnd() {
        return createDateEnd;
    }

    public void setCreateDateEnd(Date createDateEnd) {
        this.createDateEnd = createDateEnd;
    }

    public String getMadeUser() {
        return madeUser;
    }

    public void setMadeUser(String madeUser) {
        this.madeUser = madeUser;
    }

    public String getCheckUser() {
        return checkUser;
    }

    public void setCheckUser(String checkUser) {
        this.checkUser = checkUser;
    }

    public Integer getCheckState() {
        return checkState;
    }

    public void setCheckState(Integer checkState) {
        this.checkState = checkState;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerNo() {
        return customerNo;
    }

    public void setCustomerNo(String customerNo) {
        this.customerNo = customerNo;
    }

    public String getSendName() {
        return sendName;
    }

    public void setSendName(String sendName) {
        this.sendName = sendName;
    }

    public String getSendPhone() {
        return sendPhone;
    }

    public void setSendPhone(String sendPhone) {
        this.sendPhone = sendPhone;
    }

    public String getSendAddress() {
        return sendAddress;
    }

    public void setSendAddress(String sendAddress) {
        this.sendAddress = sendAddress;
    }

    public String getSendType() {
        return sendType;
    }

    public void setSendType(String sendType) {
        this.sendType = sendType;
    }
}
